<html>

	<head>
		<title>6.5.2 进阶用法</title>
		<meta charset="utf-8" />
		<meta name="author" content="jfinal,yaolin" />
		<meta name="Keywords" content="" />
		<link rel="stylesheet" type="text/css" href="../../css/global.css" />
	</head>

	<body>
		<h1>6.5.2 进阶用法</h1>
		<p>直接举例：</p>
		<img src="../../images/templateEngine/6.5.2.1.png" />
		<p>上例第一行代码创建了名为”myEngine”的 Engine 对象，第二行代码设置引擎查找模板文 件的基础中径，第三行代码利用 wxAppMsg.txt 这个模板创建一个 Template 对象，第三行代码 使用该对象渲染内容到 String 对象中，从而生成了微信小程序消息内容。 注意，最后一行代码 使用 use 方法获取到了第一行代码创建的 engine 对象，意味着使用正确的 engineName 可以在 任何地方获取到之前创建的 engine 对象，极为方便。</p>
		<p>除了可以将模板渲染到 String 中以外，还可以渲染到任意的 Writer 之中，只需要用一下 Template.render(Map data, java.io.Writer wirter)方法即可实现， 例如： Writer 接口如果指向文 件，那么就将其内容渲染到文件之中，甚至可以实现 Writer 接口将内容渲染到 socket 套接字 中。
		</p>
		<p>除了外部模板文件可以作为模板内容的来源以外，还可以通过 String 数据或者 IStringSource 接口实现类作为模板数据的来源，以下是代码示例：</p>
		<img src="../../images/templateEngine/6.5.2.2.png" />
		<p>上例代码第一行通过 getTemplateByString 来获取 Template 对象，而非从外部模板文件来 获取，这种用法非常适合模板内容非常简短的情况，避免了创建外部模板文件，例如： 非常适 合用于替换 JDK 中的 String.format(…)方法。</p>
		<p>上例中的第三行代码，传入的参数是 new MyStringSource()， MyStringSource 类是 IStringSource 接口的实现类，通过该接口可以实现通过任意方式来获取模板内容，例如， 通过 网络 socket 连接来获取， IStringSource 接口用法极其简单，在此不再赘述。</p>
	</body>

</html>